unit FreeTypes;

{$mode delphi}

interface


const
  PixelCountMax                 = 32768;                         // used for faster pixel acces when shading to viewport

Type

  TFloatType                    = single;                        // All floatingpoint variables are of this type
  TFloatArray                    = array of TFloatType;

  T2DCoordinate                 = record                         // 2D coordinate type
                                     X,Y:TFloatType;
                                  end;
  T3DCoordinate                 = record                         // 3D coordinate type
                                     X,Y,Z:TFloatType;
                                  end;
  T3DPlane                      = record
                                     a,b,c,d:TFloatType;         // Description of a 3D plane: a*x + b*y + c*z -d = 0.0;
                                  end;

  TRGBTriple                    = packed record
                                     rgbtBlue : BYTE;
                                     rgbtGreen: BYTE;
                                     rgbtRed  : BYTE;
                                  end;
  pRGBTripleArray               = ^TRGBTripleArray;
  TRGBTripleArray               = array[0..PixelCountMax-1] of TRGBTriple;


  TFreePrecisionType           = (fpLow,fpMedium,fpHigh,fpVeryHigh);                                  // Precision of the ship-model
  TFreeIntersectionType        = (fiFree,fiStation,fiButtock,fiWaterline,fiDiagonal);                 // Different types of intersectionlines, stations, buttocks, waterlines and lines orientated in random planes
  TFreeModelView               = (mvPort,mvBoth);                                                     // Show half the hull or the entire hull
  TFreeEditMode                = (emSelectItems);                                                     // The program responds differnt to mouse actions depending on the editmode of the component
  TFreeHydrostaticType         = (fhShort,fhExtensive);                                               // Determines how calculations are performed: short, extensive etc.
  TFreeHydrostaticsMode        = (fhSingleCalculation,fhMultipleCalculations);                        // Used when creating hydrostatic reports
  TFreeHydrostaticsCalculation = (hcAll,hcVolume,hcMainframe,hcWaterline,hcSAC,hcLateralArea,hcBulbSection);        //
  TFreeHydrostaticsCalculate   = set of TFreeHydrostaticsCalculation;                                 // Set with all calculations to be performed
  TFreeHydrostaticsCalculateGravity   = set of TFreeHydrostaticsCalculation;
  TFreeHydrostaticError        = (feNothingSubmerged,feMakingWater,feNotEnoughBuoyancy);              // Errors that may occur when calculating hydrostatics
  TFreeHydrostaticErrors       = set of TFreeHydrostaticError;
  TFreeHydrostaticCoeff        = (fcProjectSettings,fcActualData);
  TFreeDelftSeriesResistanceData=record
                                    StartSpeed        : TFloatType;
                                    EndSpeed          : TFloatType;
                                    StepSpeed         : TFloatType;
                                    Bwl               : TFloatType;
                                    Cp                : TFloatType;
                                    Displacement      : TFloatType;
                                    Draft             : TFloatType;
                                    DraftTotal        : TFloatType;
                                    KeelChordLength   : TFloatType;
                                    KeelArea          : TFloatType;
                                    LCB               : TFloatType;
                                    Lwl               : TFloatType;
                                    RudderChordLength : TFloatType;
                                    RudderArea        : TFloatType;
                                    Viscosity         : TFloatType;
                                    WettedSurface     : TFloatType;
                                    WlArea            : TFloatType;
                                    EstimateWetSurf   : boolean;
                                    Extract           : Boolean;
                                 end;
  TFreeHoltrSeriesResistanceData=record
                                    StartSpeed        : TFloatType;
                                    EndSpeed          : TFloatType;
                                    StepSpeed         : TFloatType;
                                    Bwl               : TFloatType;
                                    Cp                : TFloatType;
                                    Displacement      : TFloatType;
                                    Draft             : TFloatType;
                                    DraftTotal        : TFloatType;
                                    KeelChordLength   : TFloatType;
                                    KeelArea          : TFloatType;
                                    LCB               : TFloatType;
                                    Lwl               : TFloatType;
                                    RudderChordLength : TFloatType;
                                    RudderArea        : TFloatType;
                                    Viscosity         : TFloatType;
                                    WettedSurface     : TFloatType;
                                    WlArea            : TFloatType;
                                    Ke                : TFloatType;
                                    BA                : TFloatType;
                                    KBulb             : TFloatType;
                                    ZBulb             : TFloatType;
                                    Cstrn             : TFloatType;
                                    Np                : TFloatType;
                                    Dp                : TFloatType;
                                    Ks                : TFloatType;
                                    K1                : TFloatType;
                                    K2                : TFloatType;
                                    K3                : TFloatType;
                                    K4                : TFloatType;
                                    K5                : TFloatType;
                                    K6                : TFloatType;
                                    K7                : TFloatType;
                                    A1                : TFloatType;
                                    A2                : TFloatType;
                                    A3                : TFloatType;
                                    A4                : TFloatType;
                                    A5                : TFloatType;
                                    A6                : TFloatType;
                                    A7                : TFloatType;
                                    A8                : TFloatType;
                                    A9                : TFloatType;
                                    A10               : TFloatType;
                                    A11               : TFloatType;
                                    EstimateWetSurf   : boolean;
                                    Extract           : Boolean;
                                 end;
  TFreeHollenSeriesResistanceData=record
                                    StartSpeed        : TFloatType;
                                    EndSpeed          : TFloatType;
                                    StepSpeed         : TFloatType;
                                    Bwl               : TFloatType;
                                    Cp                : TFloatType;
                                    Displacement      : TFloatType;
                                    Draft             : TFloatType;
                                    DraftTotal        : TFloatType;
                                    KeelChordLength   : TFloatType;
                                    KeelArea          : TFloatType;
                                    LCB               : TFloatType;
                                    Lwl               : TFloatType;
                                    RudderChordLength : TFloatType;
                                    RudderArea        : TFloatType;
                                    Viscosity         : TFloatType;
                                    WettedSurface     : TFloatType;
                                    Los               : TFloatType;
                                    Ke                : TFloatType;
                                    BA                : TFloatType;
                                    KBulb             : TFloatType;
                                    ZBulb             : TFloatType;
                                    Cstrn             : TFloatType;
                                    Np                : TFloatType;
                                    Dp                : TFloatType;
                                    Ks                : TFloatType;
                                    K1                : TFloatType;
                                    K2                : TFloatType;
                                    K3                : TFloatType;
                                    K4                : TFloatType;
                                    K5                : TFloatType;
                                    K6                : TFloatType;
                                    K7                : TFloatType;
                                    A1                : TFloatType;
                                    A2                : TFloatType;
                                    A3                : TFloatType;
                                    A4                : TFloatType;
                                    A5                : TFloatType;
                                    A6                : TFloatType;
                                    A7                : TFloatType;
                                    A8                : TFloatType;
                                    A9                : TFloatType;
                                    A10               : TFloatType;
                                    A11               : TFloatType;
                                    EstimateWetSurf   : boolean;
                                    Extract           : Boolean;
                                 end;
  TFreeOortmerSeriesResistanceData=record
                                    StartSpeed        : TFloatType;
                                    EndSpeed          : TFloatType;
                                    StepSpeed         : TFloatType;
                                    Bwl               : TFloatType;
                                    Cp                : TFloatType;
                                    Displacement      : TFloatType;
                                    Draft             : TFloatType;
                                    DraftTotal        : TFloatType;
                                    KeelChordLength   : TFloatType;
                                    KeelArea          : TFloatType;
                                    LCB               : TFloatType;
                                    Lwl               : TFloatType;
                                    RudderChordLength : TFloatType;
                                    RudderArea        : TFloatType;
                                    Viscosity         : TFloatType;
                                    WettedSurface     : TFloatType;
                                    Los               : TFloatType;
                                    Ke                : TFloatType;
                                    BA                : TFloatType;
                                    KBulb             : TFloatType;
                                    ZBulb             : TFloatType;
                                    Cstrn             : TFloatType;
                                    Np                : TFloatType;
                                    Dp                : TFloatType;
                                    Ks                : TFloatType;
                                    K1                : TFloatType;
                                    K2                : TFloatType;
                                    K3                : TFloatType;
                                    K4                : TFloatType;
                                    K5                : TFloatType;
                                    K6                : TFloatType;
                                    K7                : TFloatType;
                                    A1                : TFloatType;
                                    A2                : TFloatType;
                                    A3                : TFloatType;
                                    A4                : TFloatType;
                                    A5                : TFloatType;
                                    A6                : TFloatType;
                                    A7                : TFloatType;
                                    A8                : TFloatType;
                                    A9                : TFloatType;
                                    A10               : TFloatType;
                                    A11               : TFloatType;
                                    EstimateWetSurf   : boolean;
                                    Extract           : Boolean;
                                 end;
  TFreeFungSeriesResistanceData=record
                                    StartSpeed        : TFloatType;
                                    EndSpeed          : TFloatType;
                                    StepSpeed         : TFloatType;
                                    Bwl               : TFloatType;
                                    Cp                : TFloatType;
                                    Displacement      : TFloatType;
                                    Draft             : TFloatType;
                                    DraftTotal        : TFloatType;
                                    KeelChordLength   : TFloatType;
                                    KeelArea          : TFloatType;
                                    LCB               : TFloatType;
                                    Lwl               : TFloatType;
                                    RudderChordLength : TFloatType;
                                    RudderArea        : TFloatType;
                                    Viscosity         : TFloatType;
                                    WettedSurface     : TFloatType;
                                    Los               : TFloatType;
                                    Ke                : TFloatType;
                                    BA                : TFloatType;
                                    KBulb             : TFloatType;
                                    ZBulb             : TFloatType;
                                    Cstrn             : TFloatType;
                                    Np                : TFloatType;
                                    Dp                : TFloatType;
                                    Ks                : TFloatType;
                                    K1                : TFloatType;
                                    K2                : TFloatType;
                                    K3                : TFloatType;
                                    K4                : TFloatType;
                                    K5                : TFloatType;
                                    K6                : TFloatType;
                                    K7                : TFloatType;
                                    A1                : TFloatType;
                                    A2                : TFloatType;
                                    A3                : TFloatType;
                                    A4                : TFloatType;
                                    A5                : TFloatType;
                                    A6                : TFloatType;
                                    A7                : TFloatType;
                                    A8                : TFloatType;
                                    A9                : TFloatType;
                                    A10               : TFloatType;
                                    A11               : TFloatType;
                                    EstimateWetSurf   : boolean;
                                    Extract           : Boolean;
                                 end;
  TFreeOSTSeriesResistanceData=record
                                    StartSpeed        : TFloatType;
                                    EndSpeed          : TFloatType;
                                    StepSpeed         : TFloatType;
                                    Bwl               : TFloatType;
                                    Cp                : TFloatType;
                                    Displacement      : TFloatType;
                                    Draft             : TFloatType;
                                    DraftTotal        : TFloatType;
                                    KeelChordLength   : TFloatType;
                                    KeelArea          : TFloatType;
                                    LCB               : TFloatType;
                                    Lwl               : TFloatType;
                                    RudderChordLength : TFloatType;
                                    RudderArea        : TFloatType;
                                    Viscosity         : TFloatType;
                                    WettedSurface     : TFloatType;
                                    WlArea            : TFloatType;
                                    Ke                : TFloatType;
                                    Ks                : TFloatType;
                                    Nser              : TFloatType;
                                    Na                : TFloatType;
                                    Nf                : TFloatType;
                                    Np                : TFloatType;
                                    Dp                : TFloatType;
                                    K1                : TFloatType;
                                    K2                : TFloatType;
                                    K3                : TFloatType;
                                    K4                : TFloatType;
                                    K5                : TFloatType;
                                    K6                : TFloatType;
                                    K7                : TFloatType;
                                    A1                : TFloatType;
                                    A2                : TFloatType;
                                    A3                : TFloatType;
                                    A4                : TFloatType;
                                    A5                : TFloatType;
                                    A6                : TFloatType;
                                    A7                : TFloatType;
                                    A8                : TFloatType;
                                    A9                : TFloatType;
                                    A10               : TFloatType;
                                    A11               : TFloatType;
                                    Dat17_1           : TFloatType;
                                    Dat17_2           : TFloatType;
                                    Dat17_3           : TFloatType;
                                    Dat17_4           : TFloatType;
                                    Dat17_5           : TFloatType;
                                    Dat18_1           : TFloatType;
                                    Dat18_2           : TFloatType;
                                    Dat18_3           : TFloatType;
                                    Dat18_4           : TFloatType;
                                    Dat18_5           : TFloatType;
                                    EstimateWetSurf   : boolean;
                                    Extract           : Boolean;
                                 end;
  TFreePlaningResistanceData     = record
                                    Draft             : TFloatType;
                                    Lwl               : TFloatType;
                                    Bwl               : TFloatType;
                                    Cp                : TFloatType;
                                    Displacement      : TFloatType;
                                    LCB               : TFloatType;
                                    WettedSurface     : TFloatType;
                                    At_Ax             : TFloatType;
                                    EntranceAngle     : TFloatType;
                                    Sa                : TFloatType;
                                    Caa               : TFloatType;
                                    Angle             : TFloatType;
                                    K                 : TFloatType;
                                    Extract           : Boolean;
                                 end;
  TFreeKAPERResistanceData     = record
                                    Draft             : TFloatType;
                                    Lwl               : TFloatType;
                                    Bwl               : TFloatType;
                                    Cp                : TFloatType;
                                    Displacement      : TFloatType;
                                    LCB               : TFloatType;
                                    WettedSurface     : TFloatType;
                                    At_Ax             : TFloatType;
                                    EntranceAngle     : TFloatType;
                                    Extract           : Boolean;
                                 end;
  TFreeTask1PropellerData     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Dat7               : TFloatType;
                                    Dat8               : TFloatType;
                                    Dat9               : TFloatType;
                                    Dat10              : TFloatType;
                                    Dat11              : TFloatType;
                                    Dat12              : TFloatType;
                                    Dat13              : TFloatType;
                                    Dat14              : TFloatType;
                                    Dat15              : TFloatType;
                                    Dat16              : TFloatType;
                                    Extract            : Boolean;
                                 end;
  TFreeTask2PropellerData     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Dat7               : TFloatType;
                                    Dat8               : TFloatType;
                                    Dat9               : TFloatType;
                                    Dat10              : TFloatType;
                                    Dat11              : TFloatType;
                                    Dat12              : TFloatType;
                                    Dat13              : TFloatType;
                                    Dat14              : TFloatType;
                                    Dat15              : TFloatType;
                                    Dat16              : TFloatType;
                                    Dat17_1            : TFloatType;
                                    Dat17_2            : TFloatType;
                                    Dat17_3            : TFloatType;
                                    Dat17_4            : TFloatType;
                                    Dat17_5            : TFloatType;
                                    Dat18_1            : TFloatType;
                                    Dat18_2            : TFloatType;
                                    Dat18_3            : TFloatType;
                                    Dat18_4            : TFloatType;
                                    Dat18_5            : TFloatType;
                                    Extract           : Boolean;
                                 end;
  TFreeTask3PropellerData     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Dat7               : TFloatType;
                                    Dat8               : TFloatType;
                                    Dat9               : TFloatType;
                                    Dat10              : TFloatType;
                                    Dat11              : TFloatType;
                                    Dat12              : TFloatType;
                                    Dat13              : TFloatType;
                                    Dat14              : TFloatType;
                                    Dat15              : TFloatType;
                                    Dat16              : TFloatType;
                                    Dat17              : TFloatType;
                                    Extract           : Boolean;
                                 end;
  TFreeTask4PropellerData     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Dat7               : TFloatType;
                                    Dat8               : TFloatType;
                                    Dat9               : TFloatType;
                                    Dat10              : TFloatType;
                                    Dat11              : TFloatType;
                                    Dat12              : TFloatType;
                                    Dat13              : TFloatType;
                                    Dat14              : TFloatType;
                                    Dat15              : TFloatType;
                                    Dat16              : TFloatType;
                                    Extract            : Boolean;
                                 end;
  TFreeTask5PropellerData     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Extract            : Boolean;
                                 end;
  TFreeRvrsPropellerData     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Dat7               : TFloatType;
                                    Dat8               : TFloatType;
                                    Dat9               : TFloatType;
                                    Dat10              : TFloatType;
                                    Dat11              : TFloatType;
                                    Dat12              : TFloatType;
                                    Dat13              : TFloatType;
                                    Dat14              : TFloatType;
                                    Dat15              : TFloatType;
                                    Dat16              : TFloatType;
                                    Dat17              : TFloatType;
//				   Dat18              : TFloatType;
                                    Extract           : Boolean;
                                 end;
  TFreeHydrodynManeuvData     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Dat7               : TFloatType;
                                    Dat8               : TFloatType;
                                    Dat9               : TFloatType;
                                    Dat10              : TFloatType;
                                    Dat11              : TFloatType;
                                    Dat12              : TFloatType;
                                    Dat13              : TFloatType;
                                    Dat14              : TFloatType;
                                    Dat15              : TFloatType;
                                    Dat16              : TFloatType;
                                    Dat17              : TFloatType;
                                    Dat18              : TFloatType;
                                    Dat19              : TFloatType;
                                    Dat20              : TFloatType;
                                    Extract            : Boolean;
                                 end;
  TFreeHydrodynTask1Data     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Dat7               : TFloatType;
                                    Dat8               : TFloatType;
                                    Dat9               : TFloatType;
                                    Dat10              : TFloatType;
                                    Dat11              : TFloatType;
                                    Dat12              : TFloatType;
                                    Extract            : Boolean;
                                 end;

{     TFreeHydrodynTask2Data     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Dat7               : TFloatType;
                                    Dat8               : TFloatType;
                                    Dat9               : TFloatType;
                                    Dat10              : TFloatType;
                                    Dat11              : TFloatType;
                                    Dat12              : TFloatType;
                                    Dat13              : TFloatType;
                                    Dat14              : TFloatType;
                                    Dat15              : TFloatType;
                                    Dat16              : TFloatType;
                                    Extract            : Boolean;
                                 end;
  TFreeHydrodynTask3Data     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Dat7               : TFloatType;
                                    Dat8               : TFloatType;
                                    Dat9               : TFloatType;
                                    Dat10              : TFloatType;
                                    Dat11              : TFloatType;
                                    Dat12              : TFloatType;
                                    Dat13              : TFloatType;
                                    Dat14              : TFloatType;
                                    Dat15              : TFloatType;
                                    Dat16              : TFloatType;
                                    Extract            : Boolean;
                                 end;
  TFreeHydrodynTask4Data     = record
                                    Dat2               : TFloatType;
                                    Dat3               : TFloatType;
                                    Dat4               : TFloatType;
                                    Dat5               : TFloatType;
                                    Dat6               : TFloatType;
                                    Dat7               : TFloatType;
                                    Dat8               : TFloatType;
                                    Dat9               : TFloatType;
                                    Dat10              : TFloatType;
                                    Dat11              : TFloatType;
                                    Dat12              : TFloatType;
                                    Dat13              : TFloatType;
                                    Dat14              : TFloatType;
                                    Dat15              : TFloatType;
                                    Dat16              : TFloatType;
                                    Extract            : Boolean;
                                 end;

}
  TFreeRBHSSeriesResistanceData=record
                                    StartSpeed        : TFloatType;
                                    EndSpeed          : TFloatType;
                                    StepSpeed         : TFloatType;
                                    Bwl               : TFloatType;
                                    Cp                : TFloatType;
                                    Displacement      : TFloatType;
                                    Draft             : TFloatType;
                                    DraftTotal        : TFloatType;
                                    KeelChordLength   : TFloatType;
                                    KeelArea          : TFloatType;
                                    LCB               : TFloatType;
                                    Lwl               : TFloatType;
                                    RudderChordLength : TFloatType;
                                    RudderArea        : TFloatType;
                                    Viscosity         : TFloatType;
                                    WettedSurface     : TFloatType;
                                    WlArea            : TFloatType;
                                    Ke                : TFloatType;
                                    Ks                : TFloatType;
                                    Nser              : TFloatType;
                                    Na                : TFloatType;
                                    Nf                : TFloatType;
                                    Np                : TFloatType;
                                    Dp                : TFloatType;
                                    K1                : TFloatType;
                                    K2                : TFloatType;
                                    K3                : TFloatType;
                                    K4                : TFloatType;
                                    K5                : TFloatType;
                                    K6                : TFloatType;
                                    K7                : TFloatType;
                                    A1                : TFloatType;
                                    A2                : TFloatType;
                                    A3                : TFloatType;
                                    A4                : TFloatType;
                                    A5                : TFloatType;
                                    A6                : TFloatType;
                                    A7                : TFloatType;
                                    A8                : TFloatType;
                                    A9                : TFloatType;
                                    A10               : TFloatType;
                                    A11               : TFloatType;
                                    Dat17_1           : TFloatType;
                                    Dat17_2           : TFloatType;
                                    Dat17_3           : TFloatType;
                                    Dat17_4           : TFloatType;
                                    Dat17_5           : TFloatType;
                                    Dat18_1           : TFloatType;
                                    Dat18_2           : TFloatType;
                                    Dat18_3           : TFloatType;
                                    Dat18_4           : TFloatType;
                                    Dat18_5           : TFloatType;
                                    EstimateWetSurf   : boolean;
                                    Extract           : Boolean;
                                 end;
  TFreeMHSeriesResistanceData=record
                                    StartSpeed        : TFloatType;
                                    EndSpeed          : TFloatType;
                                    StepSpeed         : TFloatType;
                                    Bwl               : TFloatType;
                                    Cp                : TFloatType;
                                    Displacement      : TFloatType;
                                    Draft             : TFloatType;
                                    DraftTotal        : TFloatType;
                                    KeelChordLength   : TFloatType;
                                    KeelArea          : TFloatType;
                                    LCB               : TFloatType;
                                    Lwl               : TFloatType;
                                    RudderChordLength : TFloatType;
                                    RudderArea        : TFloatType;
                                    Viscosity         : TFloatType;
                                    WettedSurface     : TFloatType;
                                    WlArea            : TFloatType;
                                    Ke                : TFloatType;
                                    Ks                : TFloatType;
                                    Nser              : TFloatType;
                                    Na                : TFloatType;
                                    Nf                : TFloatType;
                                    Np                : TFloatType;
                                    Dp                : TFloatType;
                                    K1                : TFloatType;
                                    K2                : TFloatType;
                                    K3                : TFloatType;
                                    K4                : TFloatType;
                                    K5                : TFloatType;
                                    K6                : TFloatType;
                                    K7                : TFloatType;
                                    A1                : TFloatType;
                                    A2                : TFloatType;
                                    A3                : TFloatType;
                                    A4                : TFloatType;
                                    A5                : TFloatType;
                                    A6                : TFloatType;
                                    A7                : TFloatType;
                                    A8                : TFloatType;
                                    A9                : TFloatType;
                                    A10               : TFloatType;
                                    A11               : TFloatType;
                                    Dat17_1           : TFloatType;
                                    Dat17_2           : TFloatType;
                                    Dat17_3           : TFloatType;
                                    Dat17_4           : TFloatType;
                                    Dat17_5           : TFloatType;
                                    Dat18_1           : TFloatType;
                                    Dat18_2           : TFloatType;
                                    Dat18_3           : TFloatType;
                                    Dat18_4           : TFloatType;
                                    Dat18_5           : TFloatType;
                                    EstimateWetSurf   : boolean;
                                    Extract           : Boolean;
                                 end;

const
  ZERO : T3DCoordinate  = (X:0.0;Y:0.0;Z:0.0);
  EOL                           = #13#10;

implementation

end.

